package com.ror.java.se.collection.set;

public class Demo02HashSet {
    public static void main(String[] args) {
        Student s1 = new Student("张三", 21);
        Student s2 = new Student("张三", 21);

//如果没有重写hashCode方法，<u>相同属性值的不同对象</u>计算出的哈希值是不同的
//        System.out.println(s1.hashCode()); //1808253012
//        System.out.println(s2.hashCode()); //589431969

//如果已经重写hashcode方法，不同对象只要属性值相同，计算出的哈希值就是一样的
        System.out.println(s1.hashCode()); //24022541
        System.out.println(s2.hashCode()); //24022541

//<u>哈希碰撞</u> =哈希冲突：在小部分情况下，不同的属性值或者不同的地址值计算出来的哈希值也有可能一样
        System.out.println("abc".hashCode()); //96354
        System.out.println("acD".hashCode()); //96354
    }

}
